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
๐Ÿฆ Cheat for cs:go written in Python.

Cs::Fuck ๐Ÿฆ Cheat for cs:go written in Python. You can show a video here: https://vimeo.com/642730650 Feature. TriggerBot Glow Esp NoFlash Setup. 0. p

ัดฮนcะฝั‡ 10 Sep 23, 2022
16-bit PvP platform minigame made for a final high-school project

16-bit PvP platform minigame made for a final high-school project

Flavien 1 Feb 10, 2022
Game code for Evennia servers designed for use with ALPACASclient.

ALPACASgame Game code for Evennia servers designed for use with ALPACASclient. This code is meant to be a type of "compatability layer" between the AL

FreeDelete Software 1 Nov 07, 2021
Easy and fun game to play a bit. Written in python

NumGuesser Easy and fun game to play a bit. Written in python

Lodi#0001 4 May 22, 2022
SpiderArcadeGame - A game where the player controls a little spider who is trying to protect herself from other invasive bugs

SpiderArcadeGame - A game where the player controls a little spider who is trying to protect herself from other invasive bugs

Matheus Farias de Oliveira Matsumoto 1 Mar 17, 2022
Simple implementation of the classic Snake Game in under 100 lines of code

Snake_Game Simple python implementation of the classic Snake Game in under 100 lines of code. Printscreen of the game: Imported Libraries: random; pyg

Raffaele Fiorillo 2 Jun 13, 2022
The Original Snake Game. Maneuver a snake in its burrow and earn points while avoiding the snake itself and the walls of the snake burrow.

Maneuver a snake in its burrow and earn points while avoiding the snake itself and the walls of the snake burrow. The snake grows when it eats an apple by default which can be disabled in the setting

17 Nov 12, 2022
Guess number game with PyQt5

Guess-Number-Project Guess number game with PyQt5 you can choose a number in your mind and then computer will guess a nummber and you guide the comput

MohammadAli.HBA 1 Nov 11, 2021
AI Games and its programming solution with Python.

Problem: Save the princess: Problem defination on Hackerrank: https://www.hackerrank.com/challenges/saveprincess About problem: Princess Peach is trap

Hasit Parmar 1 Feb 19, 2022
A short non 100% Accurate Solar System in pygame

solar-system-pygame Controls UP/DOWN for Emulation Speed Control ESC for Pause/Unpause q to Quit c or ESC again to Continue LEFT CLICK to Add an orbit

LightCrimson 2 May 28, 2022
Code d'un jeu en python par Graveen (avec mes modifications)

ATTENTION Vous ne devez pas copier coller le code sans le comprendre, apprennez dรฉjร , le python et pygame, et seulement ensuite, vous pourrrez l'utili

TheBigWolfy 7 Nov 02, 2022
For the Exapunk minigame, ะŸะะกะฌะฏะะก

Exapunks Automation This repository solves Exapunk's Solitaire minigame, ะŸะะกะฌะฏะะก. This repository is useable, but only with specific display condition

Will C 5 Jul 29, 2022
XPlaneROS is a ROS wrapper for the XPlane-11 flight simulator.

XPlaneROS XPlaneROS is a ROS wrapper for the XPlane-11 flight simulator. The wrapper provides functionality for extracting aircraft data from the simu

AirLab Stacks 26 Dec 04, 2022
Racing Fire - A simple game made with pygame.

Racing Fire A simple game in the making. Using pygame, this game is made to feel like an old arcade game. I developed a simple controller for it with

Builder212 1 Nov 09, 2021
A small game I made back in think 2011

Navi Network A small game I made back in think 2011. An online game inspired by the self-hosted nature of Minecraft, made with pygame, based on the Me

Peder Bergebakken Sundt 2 Jan 19, 2022
A full featured game of falling pieces using python's pygame library.

A full featured game of falling shapes using python's pygame library. Key Features โ€ข How To Play โ€ข Download โ€ข Contributing โ€ข License Key Features Sing

Giovani Rodriguez 7 Dec 14, 2022
Python desktop application to create, distribute, discover, and run codegames

Python desktop application to create, distribute, discover, and run codegames

2 Nov 16, 2021
Vac-Man in Python

Vac-Man in Python This is my personal version of Vax-man game using python, which is the first assignment of EA Software Engineering Virtual Experienc

ZiXiang Luo 3 Jan 05, 2022
A pure-Python Wordle and Absurdle solver

Pyrdle A pure-Python Wordle and Absurdle solver Find the originals here: Wordle Absurdle Basic solving: Wordle To solve today's Wordle, simply run: ./

3 Feb 09, 2022
NSI project --> 2D platformer in Python with Pygame

Projet de NSI (2021-2022): Jeu sous Python Collaborateurs: Remi K-S et Nathan D Lien de l'environnement IDE de Python en ligne: https://replit.com/@Re

Remi K-S 3 May 24, 2022