init game files

This commit is contained in:
2026-01-24 16:29:11 -05:00
commit ea2028cf13
171 changed files with 191733 additions and 0 deletions

170
README.md Normal file
View File

@@ -0,0 +1,170 @@
# 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
1. Visit https://godotengine.org/download/linux/
2. Download the Godot 4.x standard version
3. Extract and run
#### Option 2: Using Flatpak
```bash
flatpak install flathub org.godotengine.Godot
```
#### Option 3: Using Snap
```bash
sudo snap install godot-4
```
### Running the Game
1. Clone the repository:
```bash
git clone https://git.lazypugs.com/ckoch/FFCardGame.git
cd FFCardGame
```
2. Open in Godot Editor:
```bash
godot4 --editor project.godot
```
3. Run the game:
- Press F5 in the Godot editor, or
- Run from command line:
```bash
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
1. **Active Phase**: Activate all your dull characters
2. **Draw Phase**: Draw 2 cards (1 on first turn)
3. **Main Phase 1**: Play cards and use abilities
4. **Attack Phase**: Declare attacks and resolve combat
5. **Main Phase 2**: Play cards and use abilities
6. **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
```bash
# Export for Linux
godot4 --headless --export-release "Linux/X11" build/fftcg-linux.x86_64
```
### Running Tests
```bash
# Run from project directory
godot4 --headless --script tests/run_tests.gd
```
## Contributing
1. Fork the repository
2. Create a feature branch
3. Make your changes
4. 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