All Projects → hamvocke → doppelkopf

hamvocke / doppelkopf

Licence: MIT license
A "Doppelkopf" card game - in your browser ♣️♠️♥️♦️

Programming Languages

typescript
32286 projects
Vue
7211 projects
python
139335 projects - #7 most used programming language
CSS
56736 projects
HTML
75241 projects
Makefile
30231 projects

Projects that are alternatives of or similar to doppelkopf

bullethell
A bullet hell game programmed using HTML5 and JS.
Stars: ✭ 30 (-23.08%)
Mutual labels:  javascript-game
dotacard
You are at FODA artwork repository. Play now for free
Stars: ✭ 22 (-43.59%)
Mutual labels:  card-game
arcomage-hd
Web-based, free and open source, remastered 3D clone of 3DO/NWC's 2000 card game Arcomage. 13 languages. Desktop or mobile Android iOS. Online or offline PWA. Against AI or Multiplayer (w/o server). 🧝👾🃏 (ts+react+redux+rxjs, CSS-based anim, WebRTC)
Stars: ✭ 55 (+41.03%)
Mutual labels:  card-game
rise-of-legions
Rise of Legions is a hybrid of MOBA, tower defense and deckbuilding - with fast-paced, easy-to-pickup tug-of-war strategy. Play solo or bring a friend for co-op or 2v2, collect cards, build your deck and crush your enemies.
Stars: ✭ 105 (+169.23%)
Mutual labels:  card-game
AutoTrimps
AutoTrimps - Zek
Stars: ✭ 37 (-5.13%)
Mutual labels:  javascript-game
Expo-Nitro-Roll
A cross-platform video game built with Expo and three.js!
Stars: ✭ 16 (-58.97%)
Mutual labels:  javascript-game
google-chrome-dino
Recreation of everyone's favorite offline companion, google chrome dinosaur game, with the same classic monochrome interface.
Stars: ✭ 48 (+23.08%)
Mutual labels:  javascript-game
jskat-multimodule
JSkat is a free software implementation of the game Skat in Java.
Stars: ✭ 21 (-46.15%)
Mutual labels:  card-game
tts-deckconverter
Generate card decks for Tabletop Simulator.
Stars: ✭ 27 (-30.77%)
Mutual labels:  card-game
Rigley2-FlappyBug
The awaited sequel sees our Rigley friend jumping through firewalls "Flappy Bird" style
Stars: ✭ 27 (-30.77%)
Mutual labels:  javascript-game
Mage
Mage is a 3D Game Engine, built on top of THREE.js. It features Unity-like scripting, AMMO.js powered physics workers, an Infernojs powered UI and a clean API. Under (very) active development.
Stars: ✭ 76 (+94.87%)
Mutual labels:  javascript-game
OpenTriad
Open Triad is a reimplementation of the card game "Triple Triad" by Squaresoft.
Stars: ✭ 35 (-10.26%)
Mutual labels:  cardgame
guess-game
The classic guess the number game with some extra features.Try it
Stars: ✭ 28 (-28.21%)
Mutual labels:  javascript-game
klondike-rs
CLI Klondike Solitaire written in Rust
Stars: ✭ 32 (-17.95%)
Mutual labels:  card-game
csol
A small collection of solitaire/patience games (Klondike, FreeCell, Spider, Yukon, etc.) to play in the terminal
Stars: ✭ 25 (-35.9%)
Mutual labels:  card-game
Facebook-instan-games-SDK
Learn how to integrate games built with JavaScript and HTML5 with Facebook instant games SDK
Stars: ✭ 59 (+51.28%)
Mutual labels:  javascript-game
amusementclub2.0
Source code for Amusement Club Discord bot using Eris library
Stars: ✭ 16 (-58.97%)
Mutual labels:  card-game
Five-Nights-at-Freddys-Web
Five Nights at Freddy's - Web: https://wellsousaaa.github.io/Five-Nights-at-Freddys-Web/
Stars: ✭ 79 (+102.56%)
Mutual labels:  javascript-game
uno-multiplayer
uno multiplayer web app game based on socket io and nodejs
Stars: ✭ 27 (-30.77%)
Mutual labels:  card-game
hangman-game
A responsive hangman game built with vanilla javascript, html, and css. Animated with GSAP and canvas animations.
Stars: ✭ 22 (-43.59%)
Mutual labels:  javascript-game

Doppelkopf

Build status codecov

An in-browser implementation of the traditional German Doppelkopf card game.

Live Demo

Screenshot

Try the Live Demo at doppelkopf.party

Features

This game is still a work in progress. You will see that it's playable but some features are still missing that you might know from other Doppelkopf games:

  • Single player mode
  • Playing multiple rounds
  • Score calculation
  • Announcements & Bids
  • Extra points for winning a Doppelkopf, catching a fox, Charlie
  • Playing solo
  • Weddings
  • Custom rules

Development

The game is implemented using TypeScript and vue.js. It's capable to run as a standalone web application that does not rely on being connected to a backend.

The backend part is written in Python and using the Flask microframework. It's a tiny application that's only serving administrative tasks (e.g. feature toggles) and collects some high-level metrics about games that have been played.

Getting Started

Frontend

To work on the frontend, go to the frontend/ directory

cd frontend

Make sure you use node v16 or greater.

Install frontend dependencies:

npm install

Serve the frontend development server on localhost:5173.

npm run dev

Run the tests before and after making changes:

npm run test

Backend

Install backend dependencies:

cd backend
pipenv install --dev

If this is the first time you're setting up the backend, you need to create an admin user that you can use to log in with. Currently, the backend is hard-wired to look for a user called admin so don't change that. For the password you're free to chose whatever you fancy. Something like this:

make create_user username=admin password=admin

Start the backend development server on localhost:5000:

make run

Run the tests before and after making changes:

make test

Testing

We're very serious about testing. All bug fixes and new features should come with new tests. Backend tests are implemented with pytest, frontend unit tests with Jest and frontend end-to-end tests with nightwatch.js.

Testing the docker-compose build

Make sure docker-compose and docker are properly installed.

Using docker-compose you can start the proxy server that serves the frontend application as well as the backend application at once.

Run the local build:

  1. Make sure that you've got a .env file in the backend/ directory (you can copy the .env.sample one and adapt its values)
  2. run docker-compose build
  3. export APP_ENVIRONMENT=local && docker-compose up

Run the production build:

  1. Make sure that you've got a backend.env file in the current directory
  2. run docker-compose build (or pull via docker-compose pull)
  3. export APP_ENVIRONMENT=prod && docker-compose up -f docker-compose.yml -f docker-compose.prod.yml

More Helpful Commands

Build the frontend application for production, with minification:

npm run build
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].