cbe55820e97cfa9c582bc0106c4f6b425307e358
FF-TCG Digital
A digital implementation of the Final Fantasy Trading Card Game (FF-TCG) for Linux, featuring an isometric 3D two-player tabletop view.
Overview
This project aims to create a faithful digital recreation of the FF-TCG, allowing two players to play on the same machine with a visually appealing isometric 3D presentation.
Features (Planned)
MVP Features
- Local two-player gameplay on the same machine
- Isometric 3D game board with fixed camera angle
- Core game mechanics:
- Turn phases (Active, Draw, Main 1, Attack, Main 2, End)
- CP (Crystal Points) generation system
- Character deployment (Forwards and Backups)
- Summon casting
- Combat system (attack, block, damage resolution)
- Win condition tracking (7 damage)
Future Features
- Keyword abilities (Haste, Brave, First Strike, Freeze, Back Attack)
- EX Burst system
- Limit Break / LB Deck mechanics
- Priming mechanic
- AI opponent
- Network multiplayer
- Deck builder
- Card collection management
Requirements
- Operating System: Linux (Ubuntu 22.04+ recommended)
- Engine: Godot 4.2+
- Display: 1920x1080 minimum resolution recommended
Installation
Installing Godot 4.x
Option 1: Download from Official Website
- Visit https://godotengine.org/download/linux/
- Download the Godot 4.x standard version
- Extract and run
Option 2: Using Flatpak
flatpak install flathub org.godotengine.Godot
Option 3: Using Snap
sudo snap install godot-4
Running the Game
-
Clone the repository:
git clone https://git.lazypugs.com/ckoch/FFCardGame.git cd FFCardGame -
Open in Godot Editor:
godot4 --editor project.godot -
Run the game:
- Press F5 in the Godot editor, or
- Run from command line:
godot4 --path . scenes/main/Main.tscn
Project Structure
FFCardGame/
├── assets/
│ ├── cards/ # Card image textures
│ ├── ui/ # UI elements and icons
│ └── table/ # Table/playmat textures
├── data/
│ └── cards.json # Card database
├── docs/
│ ├── DESIGN.md # Architecture documentation
│ ├── CARD_FORMAT.md # Card data specification
│ └── RULES.md # Implemented game rules
├── scenes/
│ ├── main/ # Main game scene
│ ├── table/ # 3D table setup
│ ├── card/ # Card visual prefab
│ └── ui/ # UI scenes
├── scripts/
│ ├── autoload/ # Singleton scripts
│ ├── game/ # Core game logic
│ ├── visual/ # Visual/rendering scripts
│ └── ui/ # UI controller scripts
├── project.godot # Godot project file
└── README.md # This file
Game Rules Reference
This implementation follows the official FF-TCG Comprehensive Rules v3.2.1. Key mechanics:
Elements
- Fire, Ice, Wind, Lightning, Water, Earth, Light, Dark
- Light and Dark cards cannot be discarded for CP
- Maximum 1 Light OR Dark card on field at a time
Card Types
- Forward: Attack and block, have Power values
- Backup: Generate CP when dulled, max 5 on field
- Summon: One-time effects, go to Break Zone after use
Turn Structure
- Active Phase: Activate all your dull characters
- Draw Phase: Draw 2 cards (1 on first turn)
- Main Phase 1: Play cards and use abilities
- Attack Phase: Declare attacks and resolve combat
- Main Phase 2: Play cards and use abilities
- End Phase: Discard to hand limit (5), cleanup
Win Condition
- Deal 7 points of damage to your opponent
- Each unblocked attack deals 1 damage
Controls
| Action | Input |
|---|---|
| Select card/target | Left Click |
| Cancel/Details | Right Click / Escape |
| Pass priority | Spacebar |
Development
Building for Distribution
# Export for Linux
godot4 --headless --export-release "Linux/X11" build/fftcg-linux.x86_64
Running Tests
# Run from project directory
godot4 --headless --script tests/run_tests.gd
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
License
This is a fan project for educational purposes. Final Fantasy and related content are trademarks of Square Enix.
Acknowledgments
- Square Enix for the original Final Fantasy Trading Card Game
- The Godot Engine community
- FF-TCG community for rule clarifications
Description
Languages
GDScript
70.4%
Python
18.6%
TypeScript
8.1%
GAP
2.8%