Skip to content

abasile1-tech/PazaakPadawan

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

489 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Main page screenshot

Pazaak Padawan Card Game!

Table of Contents:

🎥 Videos:

PVPGameCharacterSelectionAndChat.mp4
PVPGameDemoGamePlay.mp4

Introduction

The project aims to develop a digital implementation of the popular card game "Pazaak", a game-within-a-game from Star Wars Knights of the Old Republic. The project is written in Java and React TypeScript. Pazaak is a two-player card game set in the Star Wars universe, known for its combination of strategy and luck. The goal of this project is to create a playable and enjoyable gaming experience. This project aims to faithfully adhere to the official Pazaak rules while offering user-friendly interfaces for both desktop and web-based versions.

Project_Objectives:

  • Create a Java backend of the Pazaak card game.
  • Develop a React TypeScript frontend of the Pazaak card game.
  • Implement the core game rules, card values, and scoring.
  • Test the game thoroughly to ensure functionality and correctness.
  • Provide clear documentation on how to play the game and any additional features.

Key Features:

  • Two-player turn-based gameplay with websockets.
  • Single-player gameplay against a computer opponent.
  • Deck of cards with numerical values and special attributes.
  • Player actions for drawing cards, playing cards, and scoring.
  • Random card shuffling and drawing.
  • Optional user interface for ease of play.

Target Platforms:

  • Java (backend)
  • React TypeScript (frontend): Web-based game accessible through modern web browsers. Project Timeline:
  • Planning and Design: 6th of October 2023
  • Java and TypeScript Development: 9th of October 2023 - 13th of October 2023
  • Testing and Debugging: 14th of October 2023 - 17th of October 2023
  • Final Review and Optimization: 18th of October 2023 - 20th of October 2023
  • Presentation at the CodeBase/CodeClan Graduates Project Showcase on 8 November 2023.

Resources Required:

  • Development environment (IntelliJ IDEA IDE for Java, vs code editor for React TypeScript).
  • Graphic design tools.
  • Testing devices and browsers.
  • Web hosting.

Project_Team:

  • John Basile
  • Paul Dennehy
  • Ewelina Nicholson
  • Ying Huai

Risks:

  • Technical challenges in implementing game rules and card interactions.
  • Compatibility issues with different platforms and browsers.
  • User interface design and usability challenges.

Deliverables:

  • Functional Java backend.
  • Functional TypeScript frontend.
  • Frontend and backend can communicate whilst being different languages.
  • Multiplayer over websocket connection.
  • Single player versus computer opponent.
  • Documentation on how to play.
  • Optional graphical user interfaces for both versions. Stakeholders:
  • Project Team
  • Players and Gamers

Features:

  • Two-Player Gameplay: Enable two players to engage in a turn-based match, simulating the competitive nature of the original Pazaak game.
  • Star Wars Theme: Incorporate Star Wars-themed graphics, card designs, and backgrounds to immerse players in the Star Wars universe.
  • Card Deck: Create a deck of cards with numerical values and unique attributes, including positive and negative values, face cards, and special cards.
  • Strategy and Luck: Maintain the essence of Pazaak by combining strategic decision-making with an element of luck, where players draw cards from the deck.
  • User-Friendly UI: Design an intuitive and user-friendly interface for both the desktop and web versions, making it easy for players to navigate and interact with the game.
  • Customization: Allow players to customize their gaming experience by selecting different card backs, avatars, and themes.
  • Scoring and Leaderboards: Implement a scoring system to keep track of players' scores and achievements. Provide leaderboards to display top players' rankings.
  • Responsive Design: Ensure the web version of the game is responsive, adapting to various screen sizes, including mobile devices, for a seamless gaming experience.
  • Multiplatform Compatibility: Ensure that the game is compatible with a variety of platforms and browsers, providing accessibility to a wide audience.
  • Sound Effects and Music: Enhance the gaming experience with Star Wars-inspired sound effects and background music.
  • Game Settings: Allow players to adjust game settings, such as difficulty levels, match duration, and card deck options, to cater to different preferences.
  • Tutorial and Help: Provide an in-game tutorial or help section to guide new players through the rules and gameplay.
  • Updates and Maintenance: Plan for future updates and maintenance to keep the game fresh and address any issues that may arise.
  • Communication Engagement: Encourage communication engagement by providing a platform for players to share their experiences, strategies, and feedback.

Board Board2 Board2

Demo

You can check out a live demo of the game at pazaak-3533536a7b01.herokuapp.com/.

Installation

  • Java Development Kit (JDK) for the Java version.

  • Modern web browser for the TypeScript version.

  • Clone this repository with HTTPS: Clone

git clone https://github.com/abasile1-tech/PazaakPadawan.git
  • OR clone this repository with SSH
git clone git@github.com:abasile1-tech/PazaakPadawan.git
  • Navigate to the server directory
cd PazaakPadawan/server/

Java (Backend or Server)

  • Run the Java backend from IntelliJ IDEA from the ServerApplication.java file

  • Add the Lombok IntelliJ plugin Lombok Link

    InstallationJava

React TypeScript (Frontend or Client)

  • Navigate to the client directory, npm install, and npm run dev
cd PazaakPadawan/client/
npm install
npm run dev
  • Open localhost:5173 in your web browser.
Usage

Playing the Pazaak Card Game is an exciting and strategic experience set in the Star Wars universe. Whether you're a seasoned player or new to the game, this section will guide you through the steps to enjoy the digital implementation of Pazaak.

Starting a Game:

Click on "Start New Game" to begin a match. You can choose to play against the computer or a friend (in the two-player mode).

*Playing Pazaak: Pazaak is a turn-based card game. Each player takes turns playing cards from their hand to build a winning hand with a total value close to 20 without going over.Cards in the deck have numerical values, including positive and negative numbers. Face cards and special cards can also impact the game.

*Strategy and Luck: Balance strategy and luck as you draw cards from your deck, deciding when to stay, end your turn, or play special cards to gain an advantage.

*Scoring: Keep an eye on the score, displayed on the screen, to see who's in the lead. The player with the highest score when the match ends wins.

*Tutorial: If you're new to Pazaak, don't worry. The game provides instruction to guide you through the rules and strategies.

*Stay Engaged: Stay tuned for game updates and maintenance to keep the experience fresh. Join the Pazaak community to share your experiences, strategies, and feedback with other players.

Now that you know how to play Pazaak, dive into the Star Wars universe, challenge your friends, and enjoy this unique card game that combines strategy and luck! May the cards be in your favor.

About

Group Capstone Project built during our time in the Professional Software Development Program at CodeClan.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors