Dominion
Server 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.
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:
- want to play against their friends
- enjoy deck building games
-
want to play on a mobile device
- User Stories
Wireframe
Technology Stack
Data Model Implementation
Database Description Language
Java-Doc
Copyright
Project Summary
Build Instructions
Basic User Instructions
Project Repositories
Service Implementation
Frontend Implementation
*Controllers *ViewModel *Services *Model
Team Roster
- Daniel Seymour - Dominion Server, Firebase
- Dannyseymour2@gmail.com
- Dannyseymour.github.io
- Erica DuBois - Dominion - User Interface, Game Logic
- erica.dubois9119@gmail.com
- edubois9119.github.io
- Sami Heard - Dominion Server, GameLogic, UI
- samimheard@gmail.com
- Github.com/sm-heard