Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/xajik/thedeck
The Deck: An Open-Source, Cross-Platform, Mobile, Turn by Turn Card Game Engine in Flutter
https://github.com/xajik/thedeck
android dart flutter game gamedev gamedevelopment ios mobile socket-io
Last synced: about 10 hours ago
JSON representation
The Deck: An Open-Source, Cross-Platform, Mobile, Turn by Turn Card Game Engine in Flutter
- Host: GitHub
- URL: https://github.com/xajik/thedeck
- Owner: xajik
- License: mit
- Created: 2025-02-04T01:35:35.000Z (7 days ago)
- Default Branch: main
- Last Pushed: 2025-02-08T15:49:37.000Z (3 days ago)
- Last Synced: 2025-02-08T16:23:19.809Z (3 days ago)
- Topics: android, dart, flutter, game, gamedev, gamedevelopment, ios, mobile, socket-io
- Language: Dart
- Homepage: https://getthedeck.com
- Size: 8.02 MB
- Stars: 17
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
![]()
The Deck
πΉοΈ Mobile multiplayer offline card games aggregator π
π¨βπ» Written π― in Dart and Flutter π¨The inspiration for βThe Deckβ came from a situation many of us have experienced. Imagine gathering with friends for a game night, only to realize that nobody has the necessary cards. Frustrating, right? This dilemma sparked the idea of leveraging technology to create a solution.
![]()
The primary goal of βThe Deckβ is to provide a user-friendly and cooperative digital game environment for playing classic games that were usually played with cards on paper. One of the standout features of βThe Deckβ is its unique ability to assign one device as the βtableβ (a.k.a. deck). By placing this device in the middle of the group, all players can witness the real-time state of the cards. This adds a new level of immersion making it a truly captivating experience.
![]()
## Gameplay
1. Select a game π
2. Connect to the room π
3. Start game π
![]()
![]()
![]()
## Read more
* βοΈ How it works π:
* [Dev.to](https://dev.to/ilbets/game-night-just-got-a-digital-upgrade-the-deck-67p)
* [Medium](https://medium.com/@igorsteblii/game-night-just-got-a-digital-upgrade-the-deck-unique-cooperative-game-simulator-98e9db13c0f6)
* PlantUML diagrams here - [/documentation](documentation)### Other
* [Personal blog: Game Night Just Got a Digital Upgrade: The Deck](https://igorsteblii.com/thedeck/)*
* [getthedeck.com](https://getthedeck.com/)
* [ProductHunt](https://www.producthunt.com/products/the-deck#the-deck)
* [Hacker News](https://news.ycombinator.com/item?id=42983699)
* [Reddit](https://www.reddit.com/user/ilbets/comments/147hkbc/the_deck_game_night_just_got_a_digital_upgrade/)* π [AppStore](https://apps.apple.com/us/app/the-deck-play/id6448377728)
* π€ [PlayStore](https://play.google.com/store/apps/details?id=com.thedeck.app)
* [PlayStore Web](https://play.google.com/apps/testing/com.thedeck.app)## Contribute
Contribution is welcome π€
If you contributed and build a new Game, ping me if you wish it to be released on the store markets.
[email protected]# Flutter
## Setup
[Use FVM to manage Flutter SDK version](https://fvm.app/docs/guides/faq/)
* install `fvm` with `brew`
* Setup Flutter version from pubspec `fvm use x.y.z`
* Read version here: [fvmrc](.fvmrc)
* run with `fvm flutter run`## MR / Pull Request
Naming convention, start commit description with:* (FEAT) - feature
* (FIX) - bug fix
* (CHORE) - refactoring, updating dependencies, etc
* (TEST) - tests## Release
### Android
* For App Store release βοΈ
* fvm flutter build appbundle --release
* Fat APK with all ABI
* fvm flutter build apk --release
* Upload file to Play store
* For split-abi APK testing
* fvm flutter build apk --release --split-per-abi### iOS
* Archive for App store upload βοΈ
* fvm flutter build ipa --release
* open file with Xcode, validate and upload
* IPA file to drag & drop into iphone:
* fvm flutter build ipa --release --export-options-plist="/Users/igor.steblii/Projects/foundation_tone/ft_fe/build/ios/archive/Runner.xcarchive/Info.plist"## Common errors
* In case VS code fail with missing Cocoapods
* * fvm flutter clean + fvm flutter pub get + Reload VSCode* For `normalize': Unicode Normalization not appropriate for ASCII-8BIT (Encoding::CompatibilityError)`
* Run: `export LC_ALL=en_US.UTF-8`* for wrong locale `export LANG="en_US.UTF-8`
* Run `locale` if there is any `C`, then run `export LC_ALL=en_US.UTF-8`* For `flutterfire` script fails with `"unhandle JSON exception"`
* Download json/plist form Firebase and update in respective folders (https://github.com/invertase/flutterfire_cli/issues/30)
* iOS Device require permission to connect to local network, which cannot be access from code. To emulate access query local IP address
* Another way is to add permission to `Info.plist` to ask on app start:
* * NSLocalNetworkUsageDescription
* * Access to the local network required to create and connect to game rooms* For `Error when reading 'lib/objectbox.g.dart': No such file or directory`
* * Run: `fvm flutter pub run build_runner watch --delete-conflicting-outputs`# Tools
To generate a new Redux template see [scripts](scripts)
# License
This project is licensed under the terms of the MIT license.