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
Command-line program to download videos from YouTube.com and other video sites

youtube-dl - download videos from youtube.com or other video platforms INSTALLATION DESCRIPTION OPTIONS CONFIGURATION OUTPUT TEMPLATE FORMAT SELECTION

youtube-dl 116.4k Jan 07, 2023
Send pm to Admin - Telegram

Send pm to Admin - Telegram

Ahoora 3 Nov 17, 2022
Script que envia e-mails de denΓΊncia para desativar nΓΊmero de WhatsApp.

SpamReport (Alpha) Este script foi feito apenas para uso educacional, nΓ£o me responsabilizo por qualquer uso indevido. Version: 1.0 Alpha Ative essa o

Kiny-Kiny 83 Dec 20, 2022
Takes upcoming items from a Google Calendar and posts them to Slack.

Google Calendar to Slack by Jason Snell - [email protected] This Python s

6 Aug 21, 2022
A Discord bot that generates inspirational quotes & motivating messages whenever a user is sad

Encourage bot is a discord bot that allows users to randomly get Inspirational quotes messages and gives motivational encouragements whenever someone says that he's sad/depressed.

1 Nov 25, 2021
OpenQuake's Engine for Seismic Hazard and Risk Analysis

OpenQuake Engine The OpenQuake Engine is an open source application that allows users to compute seismic hazard and seismic risk of earthquakes on a g

Global Earthquake Model 281 Dec 21, 2022
A Telegram Filter Bot, Support Unlimited Filter. Also, The Bot can auto-filter telegram File | video

A Telegram Filter Bot, Support Unlimited Filter. Also, The Bot can auto-filter telegram File | video

Hash Minner 3 Nov 27, 2021
πŸ€– Fast and simple bot to transform links from Amazon into a nice post with your referral link in Telegram πŸ›’

AmazonBot πŸ€– Fast and simple bot to transform links from Amazon into a nice post with your referral link in Telegram πŸ›’ Prerequisites You need Python

Alternative Profit 3 Dec 25, 2022
livestream-chat: Overlay para chats de livestreams

livestream-chat Overlay para chats de livestreams. Inicialmente para rodar dentro do browser do obs-studio. TODO: Issues iniciais Suporte a API do You

Eduardo Mendes 10 Dec 16, 2022
A lightweight Python wrapper for the IG Markets API

trading_ig A lightweight Python wrapper for the IG Markets API. Simplifies access to the IG REST and Streaming APIs with a live or demo account. What

IG Python 247 Dec 08, 2022
An script where it logs in your instagram account and follows people and likes their posts

InstaFollower An script where it logs in your instagram account and follows people and likes their posts (uses the tags to fetch people) Requirements:

Bless 3 Nov 29, 2022
Set of classes and tools to communicate with a Noso wallet using NosoP

NosoPy Set of classes and tools to communicate with a Noso wallet using NosoP(Noso Protocol). The data that can be retrieved consist of: Node informat

Noso Project 1 Jan 10, 2022
Telegram-Discord Bridge

imperial-toilet Π‘ΠΊΡ€ΠΈΠΏΡ‚, ΠΏΠ΅Ρ€Π΅ΡΡ‹Π»Π°ΡŽΡ‰ΠΈΠΉ сообщСния ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΊΠ°Π½Π°Π»ΠΎΠ² Telegram Π² ΠΎΠ΄ΠΈΠ½/нСсколько ΠΊΠ°Π½Π°Π»ΠΎΠ² Discord. ВСхничСски это Telegram-ΡŽΠ·Π΅Ρ€Π±ΠΎΡ‚ ΠΈ Disc

1 Jan 17, 2022
Official python API for Phish.AI public and private API to detect zero-day phishing websites

phish-ai-api Summary Official python API for Phish.AI public and private API to detect zero-day phishing websites How it Works (TLDR) Essentially we h

Phish.AI 168 May 17, 2022
Provide discord buttons feature for discord.py

dpy_buttons wrapper library for discord.py, providing discord buttons feature. Future of the library Will be merged into discord interaction api libra

Minjun Kim (Lapis0875) 17 Feb 02, 2022
Lamblayer: a minimal deployment tool for AWS Lambda layers

lamblayer lamblayer is a minimal deployment tool for AWS Lambda layers. lamblayer does, Create a Layers of built pip-installable python packages. Crea

Yusuke Takahashi 2 Aug 19, 2022
SpaceManJax's open-source Discord Bot. Now on Github!

SpaceManBot This is SpaceManJax's open-source Discord.py Bot. Now on Github! This bot runs on Repl.it, which is a free online code editor. It can do a

Jack 1 Nov 16, 2021
POC de uma AWS lambda que executa a consulta de preΓ§os de criptomoedas, e Γ© implantada na AWS usando Github actions.

Cryptocurrency Prices Overview InstalaΓ§Γ£o RepositΓ³rio ConfiguraΓ§Γ£o CI/CD Roadmap Testes Overview A ideia deste projeto Γ© aplicar o conteΓΊdo estudado s

Gustavo Santos 3 Aug 31, 2022
This wrapper now has async support, its basically the same except it uses asyncio

This is a python wrapper for my api api_url = "https://api.dhravya.me/" This wrapper now has async support, its basically the same except it uses asyn

Dhravya Shah 5 Mar 10, 2022
A mass creator for Discord's new channel threads.

discord-thread-flooder A mass creator for Discord's new channel threads. (obv created by https://github.com/imvast) Warning: this may lag ur pc if u h

Vast 6 Nov 04, 2022