Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rametta/Pali
Pali - A 3D Godot TCG Multiplayer Card Game
https://github.com/rametta/Pali
3d card-game dedicated-server godot godot-engine godot4 multiplayer multiplayer-game tcg
Last synced: 9 days ago
JSON representation
Pali - A 3D Godot TCG Multiplayer Card Game
- Host: GitHub
- URL: https://github.com/rametta/Pali
- Owner: rametta
- License: apache-2.0
- Created: 2023-10-26T15:20:10.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-04-27T13:29:32.000Z (9 months ago)
- Last Synced: 2025-01-18T12:07:48.149Z (17 days ago)
- Topics: 3d, card-game, dedicated-server, godot, godot-engine, godot4, multiplayer, multiplayer-game, tcg
- Language: GDScript
- Homepage:
- Size: 49.7 MB
- Stars: 24
- Watchers: 3
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# 🃏 Pali - 3D Multiplayer Godot Card Game
Pali is a 3D multiplayer Godot trade card game (TCG).
![Gif Example](Screenshots/pali.gif)
This repository holds everything needed to export and run a personal dedicated server for the game, and game clients. The code can be used as a base for your own card game.
## Rules for the game
- Goal of the game is to build a hand of 5 cards that exceeds the points of your opponents 5 cards in their hand.
- The game has 25 cards total and starts by dealing 5 cards randomly to each player.
- It is turn based, every turn, you can either:
1. Place a card from your hand onto the table
2. or switch a card from the table with one in your hand.
- When there are no more cards in the deck, the game is over and points are tallied to determine the winner.
- There is no time limit### Point counting
- Every card has a point value near the top to represent their base points
- Every card also has a "category", in this example it is "Engineer" for the Aerospace Engineer card. **For every other card in your hand that is also an engineer, you get another +2 points added to your hand.**
- Some cards may optionally have some "tags". In this example, the Aerospace engineer card has 2 tags, "Nature" and "White Coat". **For every other card in your hand that has any of the same tags, you get an additonal +1 point added to your hand per tag.**
- Finally, cards have a special relationship with 1 or 2 other cards in the game that are in different categories. For this example, the Aerospace Engineer gets a +6 point boost if you also have the "Psychologist" card in your hand.Points are automatically calculated and shown in the bottom right/left sides of the screen.
### Controls
There are minimal controls:
- Left mouse clicking - click to select card in hand, then click empty space on table to place card, or, click another card on table to show a popup to confirm a switch
- Z - to zoom into the table and get a better top-down view to read the cards on the table## How to export dedicated server
The game is not peer-to-peer, but relies on a dedicated server, every server can handle only 2 peer connections, once 2 peers are connected - the game begins.
If you have a server IP address, place it in [Global.gd](./Global.gd) as the `SERVER_ADDRESS`, then export the dedicated server and client using the presets already available.
## Credits
- The 3D assets are from [@KayLousberg](https://twitter.com/KayLousberg) from their "furniture bits" [itch.io](https://kaylousberg.itch.io/furniture-bits) page
- UI font is Noto Sans, available from [Google Fonts](https://fonts.google.com/noto/specimen/Noto+Sans)
- Card flip sounds are from [freesound.org](https://freesound.org/)
- Card images were generted using A.I, from the tool [Layer](https://www.layer.ai)
- Everything else was created from scratch by Jason Rametta in Blender or other softwares