View on GitHub

dominion-game.github.io

Dominion

Server Side Code

Server Side Code

Client Side Code .

Client Side Code

Description

Our app is a mobile version of the game Dominion. Dominion is a deck-building card game for 2+ players. The mobile app version of Dominion seeks to recreate the experience of a multiplayer card game by using a visual interface imitating the physical setup of the card game.

This project has been fun for us because we all love playing board games. Our Dominion app has allowed us to apply what we’ve learned in this bootcamp while creating a mobile version of a game we all enjoy. We believe other Dominion players will appreciate our app and we hope to introduce the game to many more gamers as well.

Game Rules

Current State of the Project

The project currently does not function as intended. We are running into bugs at the point of contact between our client and our server which make it difficult to connect. The server can send data to the client, but the client either has trouble processing these data, or perhaps receives errors upon the next request. Players and Games can be created and stored, and the initialization of a new game appears to work, but it is unclear what the HTTP issues are that prevent forward progress. We will demo what we have for Demo day, and do our best to make a fully functional game for the presentation next week.

Implementation

The app operates using a finite state machine contained in a Spring/Hibernate server-side structure, which is set up to received API and HTTP calls from connected devices. The design is modular. The present iteration of the app uses Android devices for the user-facing functions, but the server-side code should be robust to implementations on the Web, iOS, or other types of devices.

The primary game logic is stored on the server, making the user-facing device code fairly lightweight and focused entirely on user experience. The devices make regular HTTP calls to retrieve their next state from the server and to send user input. The server-side code calculates the effects of different actions, contains tables and classes tracking the state of decks, player hands, and discard piles, and returns the next available state to the consumer applications.

Intended Users

The intended users of our app are gamers who:

Wireframe

Technology Stack

Data Model Implementation

Database Description Language

Java-Doc

Project Summary

Build Instructions

Basic User Instructions

Project Repositories

Service Implementation

Frontend Implementation

*Controllers *ViewModel *Services *Model

Team Roster

Ground Rules